MySQL(三) ORDER BY 子句
子句
SQL 语句由子句构成, 有些子句是必需的, 有些则是可选的.
子句 = 关键字 + 数据
如 SELECT * FROM table_name; 子句由 FROM 关键字和表 table_name 组成.
ORDER BY
ORDER BY 子句使用一个或多个列的名字, 来对输出进行排序. 如:
SELECT column_1 FROM table_name ORDER BY column_1;
我们也可以根据其他的列进行排序, 不一定要根据那些输出的列进行排序. 如:
SELECT column_1 FROM table_name ORDER BY column_2;
在这边, 输出的是 column_1, 但我们选择了根据 column_2 来排序.
按多个列排序
SELECT column_1, column_2, column_3 FROM table_name ORDER BY column_2, column_3;
只有当 column_2 一样时, 才会进一步根据 column_3 进行排序.
升序降序
默认情况下, ORDER BY 子句以升序(如, 从0到9)排列, 我们也可以使用 DESC 关键字, 使结果以降序排列.
SELECT column_1, column_2, column_3 FROM table_name ORDER BY column_1 DESC, column_2;
DESC 关键字只应用到它前面的列名, 所以上面的例子, 会先以 column_1 降序排列, 只有 column_1 相同时, 才以 column_2 升序排列.
如果要对多个列进行降序排序, 需要对每个列都指定 DESC 关键字.
ORDER BY 和 LIMIT 组合
ORDER BY 和 LIMIT 组合起来, 可以找出一个列中的最大最小值.
SELECT column_1 FROM table_name ORDER BY column_1 LIMIT 1;
子句的次序
有些子句有先后顺序之分, 不能随意放置.
如:
ORDER BY 子句必须放在 FROM 子句和 WHERE 子句之后.
LIMIT 子句必须放在 ORDER BY 子句之后.
Generated by Emacs 25.x(Org mode 8.x)
Copyright © 2014 - Pinvon - Powered by EGO